
import java.awt.image.BufferedImage;
import java.util.ArrayList;

/**
 * Takes an image, determines what features are important, and generates
 * a simpler representation for the neural network
 * 
 * @author Stephen Mues (sgmr29@gmail.com)
 *
 */
public interface FeatureExtractionMethod {
	
	/**
	 * A method for reducing an image to a list of doubles
	 * 
	 * @param	image	The raw image to be processed
	 * @param	outputLength	The length of the returned list
	 * @return	A list of Doubles between 0 and 1 that summarize the image
	 */
	public ArrayList<Double> process(BufferedImage image, int outputLength);
}
